package br.com.caelum.vraptor.util;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import javax.persistence.TypedQuery;

import br.com.caelum.vraptor.entidades.Classe;
import br.com.caelum.vraptor.entidades.Diagrama;

public class TesteDiagramaClasse {

	public static void main(String[] args) {

		try {

			EntityManagerFactory emf = Persistence
					.createEntityManagerFactory("jpa-hibernate-mysql-dev-local");

			EntityManager em = emf.createEntityManager();
			//Obter uma Classe qualquer pelo id
			Classe c = em.find(Classe.class, 3);
			
			//Chamar Consulta Nomeada para retornar o diagrama da classe passada como parametro
			TypedQuery<Diagrama> q = em.createNamedQuery("Diagrama.ByClasse", Diagrama.class);
			q.setParameter("classe", c);
			
			//Executa a consulta com resultado simples
			Diagrama d = q.getSingleResult();
			
			//Imprimir o nome do Diagrama..
			System.out.println(d.getNome());

			em.close();
			emf.close();

			System.out.println("...");

		} catch (Exception e) {

			e.printStackTrace();
			System.out.println("Erro ..");

		}

	}

}
